#协程的两个优点：
#优点1: 协程极高的执行效率。因为子程序切换不是线程切换，而是由程序自身控制，因此，没有线程切换的开销，和多线程比，线程数量越多，协程的性能优势就越明显。

#优点2: 不需要多线程的锁机制，因为只有一个线程，也不存在同时写变量冲突，在协程中控制共享资源不加锁，只需要判断状态就好了，所以执行效率比多线程高很多。
import time
def customer(name):
    print('等包子。。。')
    while True:
        baozi = yield
        print('%s拿到了包子%s'%(name,baozi))
def producer(c1,c2):
    c1.__next__()
    c2.__next__()
    n = 0
    while True:
        time.sleep(1)#做包子需要一点时间
        c1.send(n)
        c2.send(n+1)
        n += 2
if __name__ == '__main__':
    c1 = customer('xiao')
    c2 = customer('bai')
    producer(c1,c2)